// pages/login.js
const http = require('../utils/http.js');
Page({
  /**
   * 页面的初始数据
   */
  data: {
    phone: '',
    password: '',
    showLoading: false,
    showError: false,
    errorMessage: '',
    passwordVisible: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 检查是否已登录
    const token = wx.getStorageSync('token');
    if (token) {
      wx.switchTab({
        url: '/pages/index/index'
      });
    }
  },

  /**
   * 获取输入值
   */
  getInputValue: function(e) {
    const name = e.currentTarget.dataset.name; 
    const value = e.detail.value; 
    this.setData({
      [name]: value,
      showError: false
    });
  },

  /**
   * 验证表单
   */
  validateForm: function() {

    if (!this.data.phone) {
      this.setData({
        showError: true,
        errorMessage: '手机号不能为空'
      });
      return false;
    }

    // 手机号验证
    if (!/^1[3-9]\d{9}$/.test(this.data.phone)) {
      this.setData({
        showError: true,
        errorMessage: '请输入有效的手机号'
      });
      return false;
    }

    if (!this.data.password) {
      this.setData({
        showError: true,
        errorMessage: '密码不能为空'
      });
      return false;
    }

    if (this.data.password.length < 3) {
      this.setData({
        showError: true,
        errorMessage: '密码长度不能少于3位'
      });
      return false;
    }

    return true;
  },

  /**
   * 登录
   */
  login: function() {
    if (!this.validateForm()) {
      return;
    }

    this.setData({
      showLoading: true
    });

    http.request(
      '/authority/wx_normal_login',
      'POST',
      {
        phone: this.data.phone,
        password: this.data.password
      },
      {
        'content-type': 'application/x-www-form-urlencoded'
      },
      (response) => {
        this.setData({
          showLoading: false
        });

        if (response.data) {
          // 登录成功，保存token
          wx.setStorageSync('userName', this.data.phone);

          // 跳转到主页面
          wx.switchTab({
            url: '/pages/index'
          });
        } else {
          this.setData({
            showError: true,
            errorMessage: response.data.msg || '登录失败，请重试'
          });
        }
      },
      (error) => {
        // 处理请求失败
        this.setData({
          showLoading: false,
          showError: true,
          errorMessage: '网络异常，请检查网络后重试'
        });
      }
    );
  },

  /**
   * 切换密码可见性
   */
  togglePasswordVisibility: function() {
    this.setData({
      passwordVisible: !this.data.passwordVisible
    });
  },

  /**
   * 跳转到注册页面
   */
  goToRegister: function() {
    wx.navigateTo({
      url: '/pages/register/register'
    });
  },

  /**
   * 跳转到忘记密码页面
   */
  goToForgotPassword: function() {
    wx.navigateTo({
      url: '/pages/forgotPassword/forgotPassword'
    });
  }
});